table of contents
SCHED_RR_GET_INTERVAL(2) | Руководство программиста Linux | SCHED_RR_GET_INTERVAL(2) |
ИМЯ¶
sched_rr_get_interval - определяет временной интервал SCHED_RR для заданного процесса
ОБЗОР¶
#include <sched.h>
int sched_rr_get_interval(pid_t pid, struct timespec * tp);
ОПИСАНИЕ¶
Вызов sched_rr_get_interval() записывает циклический квант времени процесса pid в структуру timespec, на которую указывает tp. Указанный процесс должен запускаться с политикой выполнения SCHED_RR.
Структура timespec описана следующим образом:
struct timespec {
time_t tv_sec; /* секунды */
long tv_nsec; /* наносекунды */ };
Если значение pid равно нулю, то в *tp записывается квант времени вызывающего процесса.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При удачном выполнении sched_rr_get_interval() возвращается 0. При ошибке возвращается -1, а значение errno устанавливается соответствующим образом.
ОШИБКИ¶
СООТВЕТСТВИЕ СТАНДАРТАМ¶
POSIX.1-2001.
ЗАМЕЧАНИЯ¶
В системах POSIX, в которых доступен вызов sched_rr_get_interval(), определён _POSIX_PRIORITY_SCHEDULING в <unistd.h>.
Замечания, касающиеся Linux¶
В POSIX не определён какой-либо механизм для контроля размера циклического кванта времени. В старых ядрах Linux для этого создан (непереносимый) метод. Квант можно контролировать подгоняя значение любезности процесса (см. setpriority(2)). Назначение отрицательного (т.е., высокого) значения любезности приведёт к более длинному кванту; назначение положительного (т.е., низкого) значения любезности приведёт к сокращению кванта. Квант по умолчанию равен 0.1 секунды; степень, с которой значение любезности влияет на квант, различается в разных версиях ядра. Начиная с Linux 2.6.24, квант SCHED_RR не может быть изменён.
СМОТРИТЕ ТАКЖЕ¶
В sched_setscheduler(2) приведено описание схемы планирования Linux.
Programming for the real world - POSIX.4 by Bill O. Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0
2011-10-16 | Linux |